// components/mine/list.ts
import { ajax } from "../../utils/request";

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    listData:{
      type:Array
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleTap(e:WechatMiniprogram.CustomEvent) {
      console.log("mine ==",e.currentTarget.dataset.uri);
      // 如果没有登录，提示弹窗，提示用户登录
      if(wx.getStorageSync("userInfo")){
        wx.navigateTo({
          url: e.currentTarget.dataset.uri
        })        
      }else {
        wx.showModal({
          title:"旅行者还没登录喔~",
          content:"点击确定授权登录(#^.^#)",
          success: res => {
            if (res.confirm) {
              console.log("用户点击了确定");

              wx.login({
                success: async function (res) {
                  console.log("login === ", res);
                  // 发送code，获取sessionID
                  let sessionRes = await ajax("/user/getSession", { code: res.code }, "GET")

                  // 存储token值在本地缓存中
                  wx.setStorageSync("sessionId", sessionRes.data.data);
                  console.log('sessionId == ',wx.getStorageSync("sessionId"));
                }
              })


              wx.getUserProfile({
                desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
                success: (res:any) => {
                  console.log("getRes",res);

                  let param: any = {}
                  param.nickname = res.userInfo.nickName;
                  param.photo = res.userInfo.avatarUrl;
                  param.sessionId = wx.getStorageSync("sessionId");

                  ajax("/user/authLogin", param, "POST").then(res => {
                    // 登录成功
                    console.log("res =====", res);

                    if (res.data.code === 0) {
                      // 存储token值在本地缓存中
                      wx.setStorageSync("token", res.header.token);
                    }
                    console.log('token======', wx.getStorageSync("token"));
                  })

                  // 模拟存在车牌号
                  res.userInfo.carData = [
                    {id:"001",num:"川A12345"},
                    {id:"002",num:"新A91214"},
                    {id:"003",num:"闽B66666"},
                    {id:"003",num:"闽B66666"},
                    {id:"003",num:"闽B66666"},
                  ]
                  // this.setData({userInfo:res.userInfo})

                  // 将用户信息存储到本地缓存
                  let userInfo:any = res.userInfo
                  wx.setStorageSync("userInfo",userInfo)

                  // 将用户信息传给父组件
                  this.triggerEvent("getInfo",userInfo)
                 
                  // 跳转页面
                  wx.navigateTo({
                    url: e.currentTarget.dataset.uri
                  })  
                 
                }
              });
            
            }else {
              console.log("用户点击了取消");
              return;
            }
          }
        })  
      }
    }
  }
})

